Sumo Logicのコレクターエージェントが導入済みのEC2を起動するCFnテンプレート + 起動スクリプトを書いた
はじめに
「Sumo LogicのInstalled Collectorがインストール済みのEC2」を手軽に起動・削除する必要があったので、CFn(CloudFormation) + シェルスクリプトで作成しました。
CFnとしては以下の手順をUserDataで実行しつつEC2を起動する部分を、シェルスクリプトはそのCFn起動時に適切なパラメータを与える部分を担当させています。
使い方
準備
後述するファイルをふたつダウンロードし、同じディレクトリに入れてください。
launch-ec2-with-collector.sh
の14行目〜21行目は、お使いの環境に合わせ必要に応じて修正してください(特に 16,17行目)。その上で実行権限をつけておきます。
chmod +x launch-ec2-with-collector.sh
また、下記の手順で Sumo Logic のアクセスIDとアクセスキーを作成しておいてください。
起動
AWS CLIが実行な状態で、以下の書式でスクリプトを起動します。
※この手順で t3a.nano
インスタンスが1台起動します。状況によりAWSの課金が発生しますのでご注意ください。
launch-ec2-with-collector.sh <Access Log URL> <accessId> <accessKey>
<Access Log URL>
には、ダウンロードして/home/ec2-user
直下に配置するサンプルファイルのURLを指定します<accessId>
<accessKey>
には、それぞれアクセスIDとアクセスキーを指定します
例えばこんな感じです。
./launch-ec2-with-collector.sh \ http://example.com/path/to/logfile \ exampleEXAMPLE \ EXAMPLEexampleEXAMPLEexampleEXAMPLEexampleEXAMPLEexampleEXAMPLEe
問題がなければ数分でEC2が起動し、Sumo LogicのCollectionにコレクターが登録されると思います。
テンプレート・スクリプト
下記のGistで公開しています。
CFnテンプレート( sumologic-handson-ec2.yaml
)
シェルスクリプト( launch-ec2-with-collector.sh
)
まとめ
特定目的のために便利なCFnテンプレートとスクリプトをご紹介しました。
こちらはSumo Logicのハンズオンを行う・準備するときに便利なように作成したものですが、APIキーなどを渡しつつEC2をCFnから起動する場合はこれ以外でも応用が利きそうかと思いました。
何かのお役に立てれば幸いです。